For a number of reasons, domestic robots such as robotic vacuum cleaners, lawnmowers and pool cleaners may need to determine their current position and/or orientation. For instance, such robots typically carry a payload (which may include one or more grass-cutting blades, vacuuming nozzles, rotating brushes etc., depending on the function that the payload is intended to provide) across a working area until adequately covered. That the robot is able to determine—with accuracy—its current position and/or orientation may be helpful in navigating within this working area. As an example, this may enable the robot to better ensure adequate coverage by the payload of the working area. As another example, this may enable the robot to better navigate to specific points in the working area. A specific example of this is navigation to a base station provided in the working area.
With regard to this last example, it may be noted that such robots are usually battery operated and hence need to be often recharged. To make the robot fully autonomous, the search for the recharge station and the actual docking need to be automated too. This task involves some navigation skills allowing the robot to find the charging station and get to its vicinity. However, charging systems that require an electric contact between the robot and the charging station, generally require accurate positioning. This is often achieved by some mechanical setups that guide the robot to the correct position and orientation, but even such setups require navigation accuracy of a few centimeters.
Some known approaches for determining a robot's position and/or orientation involve triangulation, trilateration and the like using infra-red or ultrasound beacons. In other approaches, a receiver for a satellite navigation system (such as a GPS receiver) might be used. In still other approaches, an inertial measurement unit (IMU) might be used.